import Cookies from 'js-cookie' // 处理浏览器中的cookie获取设置
import axios from 'axios'

// axios二次封装 做了什么操作？
// 1. loading 2. token 3. 错误状态 4.（csrf字段携带、）5.超时调用、6.cancelToken

/* eggjs 默认值，可修改 */
const xsrfCookieName = 'csrfToken' // cookie
const xsrfHeaderName = 'x-csrf-token' // csrf-token名字

const http = axios.create({
	withCredentials: true,
	xsrfCookieName,
	xsrfHeaderName
})
// 前端获取cookie

// 后端响应一个cookie （cookie用户前后端交互）

http.interceptors.request.use(
	(config) => {
		/* header 中添加 csrfToken */
		console.log(Cookies.get(xsrfCookieName), 'Cookies.get(xsrfCookieName)')
		config.headers[xsrfHeaderName] = Cookies.get(xsrfCookieName)
		return config
	},
	(error) => Promise.reject(error)
)

export default http
